﻿namespace DotNetStar.OpenSDK.OAuth
{
    /// <summary>
    /// 表示使用授权码获取令牌凭据的 api 请求。
    /// </summary>
    public abstract class AccessTokenApiRequest<TResponse> : OAuthApiRequest<TResponse>
    {
        /// <summary>
        /// 初始化 <see cref="AccessTokenApiRequest{TResponse}"/> 类的新实例。
        /// </summary>
        /// <param name="requestUrl">请求不带任何参数的 api 地址。</param>
        /// <param name="config">OAuth2.0 认证的配置。</param>
        /// <param name="code">授权码。需要先使用 <see cref="AuthorizeCodeApiRequest"/> 申请获得。</param>
        public AccessTokenApiRequest(string requestUrl, OAuthConfig config,string code) : base(requestUrl,config)
        {
            this.Code = code;
        }

        /// <summary>
        /// 获取授权码。
        /// </summary>
        public string Code { get; }
    }
}
